const path = require('path');

module.exports = {
    entry: { // 入口配置项
        file_1: './src/entry01.js', // 多入口文件1，file1可以任意写
        file_2: './src/entry02.js' // 多入口文件2，file2可以任意写
    },
    output: { // 出口配置项
        path: path.resolve(__dirname, 'dist'), // 绝对路径，注1
        filename: '[name].js' // 多出口文件名,动态[name]的值呼应entry选项里的entry1和entry2
    },
    module: { // 打包css、图片转换、压缩

    },
    plugins: [ // 插件

    ],
    devServer: { // 开发服务(开发环境)
        contentBase: path.resolve(__dirname, 'dist'), // 热更新，监听资源绝对路径
        host: '192.168.31.163', // 服务器地址
        compress: true, // 启用服务器压缩
        port: 1717 // 端口，可以任意取
    }
}
/*
    注1:
        写绝对路径不写相对路径便于linux，mac不同机器上好识别。

        监听对象不是src下面的源码，而是打包后的资源

    注2：
        localhost可以这儿写，但这么写没修改后会访问不到，写ip地址最好    

    笔记：
        执行npm install webpack-dev-server --save-dev，安装完成后在终端执行webpack-dev-server报出'webpack-dev-server' 不是内部或外部命令，也不是可运行的程序异常，
        这是因为使用局部安装到包里面node_modules没有配环境变量，所以执行不了。为了能执行，需要在package.json中如下改写script：
        "scripts": {
            "server": "webpack-dev-server" // server是别名，可以取任意名
        }
        改写完成后，执行npm run server，这条命令为我们做了两件事，第一件事是按照webpack.config.js入口出口配置项打包，
        第二件事是，把打包好的资源放到webpack.config.js中devServer选项配置的host和port上，提供访问

        使用npm run server打包的出口文件不在dist文件夹下，可能是因为支持热更新的原因吧，写在内存里的。步骤可能是这样：
        src源码里编辑好按下保存，自动打包到dist目录下，在匹配不同处进行热更新。所以webpack-dev-server支持保存就打包功能，
        之前使用webpack打包，必须手动打包（即：执行webpack）。

        之前用webpack命令打包，打包后的出口文件在dist/下。

        如果不能热更新，需检查webpack版本（webpack -v），3.5的老版本需要配置才支持热更新，新版本不需要配置的。

        改写webpack.config.js文件不会热更新，改写index.scss、index.less、index.html、entry.js、index.css(contentBase: path.resolve(__dirname, 'dist')指定监听范围)则会

*/